package com.hodge.web.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hodge.web.entity.TabUser;
import com.hodge.web.entity.UserVO;
import org.springframework.validation.annotation.Validated;

import javax.validation.Valid;
import javax.validation.constraints.NotEmpty;
import java.util.Optional;

/**
 * 用户信息(UserInfo)表服务接口
 *
 * @author haojun
 * @since 2020-03-15 12:54:21
 */
public interface UserInfoService extends IService<TabUser> {

    /**
     * 按账号查询
     *
     * @return 用户信息
     */
    @Validated
    Optional<TabUser> getByUsername(@Valid @NotEmpty String username);

    /**
     * 获取当前用户信息
     *
     * @return 用户信息
     */
    UserVO getCurrent();

    /**
     * 获取用户详情
     *
     * @return 用户详情
     */
    UserVO getDetails(Long id);
}